package adapter;

import java.util.ArrayList;

import db.AdminBaseDatosHelper;
import lfm.mpr.JugadoresEquipoActivity_3_4_3;
import lfm.mpr.JugadoresEquipoActivity_4_3_3;
import lfm.mpr.JugadoresEquipoActivity_4_4_2;
import lfm.mpr.MyTeamsLFMActivity;
import lfm.mpr.R;
import lfm.mpr.TeamTabsActivity;
import Soap.Connection_Sever_Dynamics;
import Toast.ToastLFM_Message;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import objects.Equipo;
import objects.User;

public class AdapterListMyTeamsUser extends ArrayAdapter<Equipo>{

	private ArrayList<Equipo> list_equipo;
	private static Context context;
	private static Equipo team;
	private static AdminBaseDatosHelper miBBDDHelper;
	private boolean[] itemSelection;

	public AdapterListMyTeamsUser(Context context, ArrayList<Equipo> list) {
		super(context, R.layout.list_view_myteams_user, list);
		this.context = context;
        this.list_equipo = list;
        this.miBBDDHelper = new AdminBaseDatosHelper(context);
        this.itemSelection = new boolean[list.size()];
	}//end
	
	static class ViewHolder {
        protected TextView name, alineacion, presupuesto, user;
    }
	  
	
	@Override
	public View getView(final int position, View convertView, ViewGroup parent) {
		
        final ViewHolder viewHolder;
        
        if (convertView == null) {
        	
        	viewHolder = new ViewHolder();
        	LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        	
	        convertView  = inflater.inflate(R.layout.list_view_myteams_user, null);
	            
	        viewHolder.name = (TextView) convertView.findViewById(R.id.text_name_team);
	        viewHolder.alineacion = (TextView) convertView.findViewById(R.id.textView_alineacion);
	        viewHolder.presupuesto = (TextView) convertView.findViewById(R.id.textView_team_presupuesto);
	        viewHolder.user = (TextView) convertView.findViewById(R.id.textView_user);
	       
            convertView.setTag(viewHolder);

        } else {
        	viewHolder = (ViewHolder) convertView.getTag();
        }
	        viewHolder.name.setText(this.list_equipo.get(position).getNombre());
	        viewHolder.alineacion.setText("Ali: " + this.list_equipo.get(position).getAlineacion());
	        viewHolder.presupuesto.setText("Millones: " + this.list_equipo.get(position).getPresupuesto_gastado());
	        viewHolder.user.setText("Usuario: " + this.list_equipo.get(position).getUser().getUser());
	        
	        convertView.setOnClickListener( new View.OnClickListener(){
                public void onClick(View v){
                	team = (Equipo) list_equipo.get(position);
                	Intent intent = null;
					if(team.getAlineacion().equals("3-4-3")) intent = new Intent(context, JugadoresEquipoActivity_3_4_3.class);
					else if(team.getAlineacion().equals("4-3-3")) intent = new Intent(context, JugadoresEquipoActivity_4_3_3.class);
					else if(team.getAlineacion().equals("4-4-2")) intent = new Intent(context, JugadoresEquipoActivity_4_4_2.class);
	        		intent.putExtra("Team", team.getNombre());
	        		intent.putExtra("Alineacion", team.getAlineacion());
	        		context.startActivity(intent);
                        }
                });//end_listView_ali.setOnItemClickListener
	        
        return convertView;
        }
	
	public static Equipo Delete_Team() throws Exception{
		
		try {
			if(team == null) ToastLFM_Message.Show_Alert("Aviso", "Debes seleccionar un Equipo", context);
			else {
				Log.i("LFM_Log","ID DEL EQUIPO " + team.getId());
				if(team.getId() == null){
					Log.i("LFM_Log","BORRAMOS EL EQUIPO SOLO DE LA BD");
					miBBDDHelper.Remove_Team_LFM_BD_ByName(team);
				}
				else {
					Log.i("LFM_Log","BORRAMOS EL EQUIPO  DE LA BD Y EN EL SERVIDOR");
					Connection_Sever_Dynamics.Delete_Team_LFM(team.getId());
					miBBDDHelper.Remove_Team_LFM_BD(team);
				}
				
			}
		} catch (Exception e) {
			throw e;
		}
       return team;
	}//end_Delete_Team
	
	public static Equipo Selected_Team() {
       return team;
	}//end_Delete_Team
	
	private boolean validate_selected_item(boolean[] itemSelection){
		
		boolean result = true;
		
		for (int i = 0; i < itemSelection.length; i++) {
			if(itemSelection[i]) return false;
		}
		
		return true;
	}
	
	
	
    }//end_class
